package com.ecloud.openapi.security.convert;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import com.ecloud.openapi.security.dto.BaseUserOrganizationRoleDto;
import com.ecloud.openapi.security.po.BaseUserOrganizationRolePo;
import com.ecloud.openapi.security.vo.BaseUserOrganizationRoleVo;

/**
 * BaseUserOrganizationRoleConvert 模型转换
 *
 * @author LiuGangQiang Create in 2021/07/04
 */
@Mapper
public interface BaseUserOrganizationRoleConvert {
    BaseUserOrganizationRoleConvert INSTANCE = Mappers.getMapper(BaseUserOrganizationRoleConvert.class);

    /**
     * {@link BaseUserOrganizationRoleDto}对象 >> {@link BaseUserOrganizationRolePo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BaseUserOrganizationRolePo} 对象
     */
    BaseUserOrganizationRolePo dtoToPo(BaseUserOrganizationRoleDto dto);

    /**
     * {@link BaseUserOrganizationRoleDto}集合 >> {@link BaseUserOrganizationRolePo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BaseUserOrganizationRolePo} 集合
     */
    List<BaseUserOrganizationRolePo> dtoToPo(List<BaseUserOrganizationRoleDto> dtos);

    /**
     * {@link BaseUserOrganizationRolePo}对象 >> {@link BaseUserOrganizationRoleVo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BaseUserOrganizationRoleVo} 对象
     */
    BaseUserOrganizationRoleVo poToVo(BaseUserOrganizationRolePo po);

    /**
     * {@link BaseUserOrganizationRolePo}集合 >> {@link BaseUserOrganizationRoleVo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BaseUserOrganizationRoleVo} 集合
     */
    List<BaseUserOrganizationRoleVo> poToVo(List<BaseUserOrganizationRolePo> pos);
}
